In the context of computer systems, enterprise storage architectures provide mass electronic storage of large amounts of data. The rapid pace of technological advances in computing and networking infrastructure has driven a significant transformation of enterprise storage architectures. This has resulted in a variety of different storage architectures, such as, for example, direct attached JBODs (Just a Bunch Of Disks), SAN (Storage Area Network) attached JBODs, host adapter RAID (Redundant Array of Inexpensive/Independent Disks) controllers, external RAID controllers, redundant external RAID controllers, and NAS (Network Attached Storage). Each of these storage architectures may serve a particular need, and thus may differ significantly in terms of functionality, performance, cost, availability, scalability and manageability.
One exemplary computer system employs a “node” to control the access of data into a number of disk drives. The node stores redundant data (e.g., parity information or a duplicate copy of the data itself) to multiple disk drives so that if one disk drive fails, the redundant data can be used to reconstruct the data. The node includes a main computer system having system memory into which data can be cached to reduce the slow seek time associated with disk drives. In addition, multiple nodes may be used within a system to increase performance and provide redundancy. In some embodiments, multiple nodes are provided to avoid the failure of a single node resulting in the failure of the entire system.
Each node may include an external serial port for permitting a console to be connected thereto for monitoring firmware output. Thus, a user at such a console may monitor firmware output and may also enter commands to the firmware via the console and the external serial port.
In embodiments employing multiple nodes, it may be desirable to remotely monitor and control each of the nodes. One way to monitor and control each of the nodes is to connect a console to each of the nodes at an external serial port thereof. Thus, in this configuration, each node has an associated console from which a user may monitor and control the node. This approach, however, requires the expense of providing and maintaining multiple consoles for the set of nodes.
Another conventional approach to monitoring and controlling multiple nodes employs a physical switch attached to the serial console port of each of the nodes and to a console. Pursuant to this approach, by changing the position of the switch, the switch may connect the console to different nodes. This approach also requires additional hardware (i.e., the physical switch) to be disposed between the console and the various nodes. Further, this approach requires the switch position to be changed, either manually or otherwise.
Yet another approach employs a device capable of multiplexing simultaneous virtual connections to a single physical connection. An example of such a device is a terminal server, which may be connected between the console and the various nodes. Use of such a device requires the expense of providing and maintaining the terminal server as well as the various nodes and the console.